﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using ProjControleBLL;
using ProjControleModelos;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using ProjControle.Relatórios;
namespace ProjControle
{
    public partial class frm_realiza_venda : Form
    {
        public frm_realiza_venda()
        {
            InitializeComponent();
        }

        DataTable tab;
        DataTable tab2;
        String controle_calculo;
        String controle;
        double valProd;
        double valServ;
        //String forma_pgto;

        #region Métodos

        public void carregaCampos(Venda objV)
        {
            try
            {
                tbMovimento.Text = objV.cod_venda.ToString();
                tbCliente.Text = objV.cod_cliente.ToString();
                tbFuncionario.Text = objV.cod_funcionario.ToString();
                dtDataVenda.Value = objV.dt_venda;
                tbTotalVenda.Text = objV.val_venda.ToString("C2");
                cbTipoRecebimento.SelectedItem = objV.tipo_recebimento.ToString();
                tbObservacoes.Text = objV.observacoes;
                if (objV.forma_pgto == "A Vista")
                    rbAVista.Checked = true;
                if (objV.forma_pgto == "A Prazo")
                    rbAPrazo.Checked = true;
                carregaLabel(objV.cod_cliente,objV.cod_funcionario);
                DataRow linha;
                foreach (Produtos_Venda objPV in objV.lProdutos)
                {
                    linha = tab.NewRow();
                    linha["cod_produto"] = objPV.cod_produto;
                    Produtos objProd = new Produtos();
                    ProdutosBLL objProdBLL = new ProdutosBLL();
                    objProd = objProdBLL.localizar(objPV.cod_produto);
                    if (objProd.cod_produto != 0)
                        linha["descricao_produto"] = objProd.descricao_produto;
                    linha["qntd_produto"] = objPV.qtd_produto;
                    linha["val_produto"] = objPV.valor_produto;
                    tab.Rows.Add(linha);
                    tab.AcceptChanges();
                    valProd += objPV.valor_produto;
                }
                DataRow linha2;
                foreach (Servicos_Venda objSV in objV.lServicos)
                {
                    linha2 = tab2.NewRow();
                    linha2["cod_servico"] = objSV.cod_servico;
                    Servicos objS = new Servicos();
                    ServicosBLL objServico = new ServicosBLL();
                    objS = objServico.localizar(objSV.cod_servico);
                    if (objS.cod_servico != 0)
                        linha2["descricao_servico"] = objS.descricao_servico;
                    linha2["qntd_servico"] = objSV.qtd_servico;
                    linha2["valor_servico"] = objSV.val_servico;
                    tab2.Rows.Add(linha2);
                    tab2.AcceptChanges();
                    valServ += objSV.val_servico;
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public Boolean validaCampos()
        {
            Boolean ret = true;
            try
            {
                if (tbCliente.Text == "" || tbCliente.Text == "0")
                {
                    MessageBox.Show("O Campo CLIENTE precisa ser preenchido", "Validar Campos");
                    tbCliente.Focus();
                    ret = false;
                }
                if (tbFuncionario.Text == "" || tbFuncionario.Text == "0")
                {
                    MessageBox.Show("O Campo FUNCIONARIO precisa ser preenchido", "Validar Campos");
                    tbFuncionario.Focus();
                    ret = false;
                }
                if (tbTotalVenda.Text == "" || tbTotalVenda.Text == "0")
                {
                    MessageBox.Show("O Campo TOTAL precisa ser preenchido", "Validar Campos");
                    ret = false;
                }
                if (cbTipoRecebimento.SelectedIndex == -1)
                {
                    MessageBox.Show("Escolha um TIPO DE RECEBIMENTO para a venda ", "Validar Campos");
                    ret = false;
                }
                if (tab.Rows.Count == 0 && tab2.Rows.Count == 0)
                {
                    MessageBox.Show("A MOVIMENTAÇÃO não possui ITENS para ser VENDIDOS", "Validar Campos",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    ret = false;
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            return ret;
        }
        public void carregaLabel(int cod_cliente,int cod_func)
        {
            try
            {
                ClienteBLL objClienteBLL = new ClienteBLL();
                Cliente objCliente = new Cliente();
                FuncionarioBLL objFuncBLL = new FuncionarioBLL();
                Funcionarios objFunc = new Funcionarios();
                objCliente = objClienteBLL.localizar(cod_cliente);
                objFunc = objFuncBLL.localizar(cod_func);
                if (objFunc.codigo != 0)
                    lNomeFunc.Text = objFunc.nome;
                if (objCliente.codigo != 0)
                    lNomeCliente.Text = objCliente.nome;
                objClienteBLL = null;
                objFuncBLL = null;
                objCliente = null;
                objFunc = null;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public Venda carregaPropriedades()
        {
            Venda objV = new Venda();
            try
            {
                if (tbMovimento.Text == "")
                    objV.cod_venda = 0;
                else
                    objV.cod_venda = int.Parse(tbMovimento.Text);
                objV.cod_funcionario = int.Parse(tbFuncionario.Text);
                objV.cod_cliente = int.Parse(tbCliente.Text);
                objV.dt_venda = dtDataVenda.Value;
                objV.val_venda = double.Parse(tbTotalVenda.Text.Replace("R$",""));
                objV.tipo_recebimento = cbTipoRecebimento.SelectedItem.ToString();
                if (rbAVista.Checked == true)
                    objV.forma_pgto = "A Vista";
                if (rbAPrazo.Checked == true)
                    objV.forma_pgto = "A Prazo";
                objV.observacoes = tbObservacoes.Text;
                objV.lProdutos.Clear();
                objV.lServicos.Clear();
                Produtos_Venda objPV;
                foreach (DataRow linha in tab.Rows)
                {
                    objPV = new Produtos_Venda();
                    objPV.cod_produto = int.Parse(linha["cod_produto"].ToString());
                    objPV.qtd_produto = int.Parse(linha["qntd_produto"].ToString());
                    objPV.valor_produto = double.Parse(linha["val_produto"].ToString());
                    objV.lProdutos.Add(objPV);
                    objPV = null;
                }
                Servicos_Venda objSV;
                foreach (DataRow linha in tab2.Rows)
                {
                    objSV = new Servicos_Venda();
                    objSV.cod_servico = int.Parse(linha["cod_servico"].ToString());
                    objSV.qtd_servico = int.Parse(linha["qntd_servico"].ToString());
                    objSV.val_servico = double.Parse(linha["valor_servico"].ToString());
                    objV.lServicos.Add(objSV);
                    objSV = null;
                }

            }

            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            return objV;
        }
        public void associaGridProduto()
        {
            try
            {
                tab = new DataTable();
                tab.Columns.Add("cod_produto");
                tab.Columns.Add("descricao_produto");
                tab.Columns.Add("qntd_produto");
                tab.Columns.Add("val_produto");
                dgProdutos.DataSource = tab;
                dgProdutos.AllowUserToResizeColumns = false;
                dgProdutos.AllowUserToResizeRows = false;
                dgProdutos.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgProdutos.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgProdutos.AllowUserToAddRows = false;
                dgProdutos.Columns["cod_produto"].HeaderText = "Código";
                dgProdutos.Columns["cod_produto"].Width = 70;
                dgProdutos.Columns["descricao_produto"].HeaderText = "Descrição";
                dgProdutos.Columns["descricao_produto"].Width = 260;
                dgProdutos.Columns["qntd_produto"].HeaderText = "Qntd";
                dgProdutos.Columns["qntd_produto"].Width = 90;
                dgProdutos.Columns["val_produto"].HeaderText = "Valor";
                dgProdutos.Columns["val_produto"].Width = 90;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public void associaGridServico()
        {
            try
            {
                tab2 = new DataTable();
                tab2.Columns.Add("cod_servico");
                tab2.Columns.Add("descricao_servico");
                tab2.Columns.Add("qntd_servico");
                tab2.Columns.Add("valor_servico");
                dgServicos.DataSource = tab2;
                dgServicos.AllowUserToResizeColumns = false;
                dgServicos.AllowUserToResizeRows = false;
                dgServicos.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgServicos.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
                dgServicos.AllowUserToAddRows = false;
                dgServicos.Columns["cod_servico"].HeaderText = "Código";
                dgServicos.Columns["cod_servico"].Width = 70;
                dgServicos.Columns["descricao_servico"].HeaderText = "Descrição";
                dgServicos.Columns["descricao_servico"].Width = 260;
                dgServicos.Columns["qntd_servico"].HeaderText = "Qntd";
                dgServicos.Columns["qntd_servico"].Width = 90;
                dgServicos.Columns["valor_servico"].HeaderText = "Valor";
                dgServicos.Columns["valor_servico"].Width = 90;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }
        public void inserir()
        {
            controle = "I";
            dgDados.Enabled = true;
            gbFechamento.Enabled = true;
            gbObservacoes.Enabled = true;
            gbProdutos.Enabled = true;
            gbServicos.Enabled = true;
            bIncluir.Enabled = false;
            bAlterar.Enabled = false;
            bExcluir.Enabled = false;
            bCancelar.Enabled = true;
            bImprimir.Enabled = false;
            bConsultar.Enabled = false;
            bSalvar.Enabled = true;
            bVoltar.Enabled = false;
        }
        public void alterar()
        {
            controle = "A";
            dgDados.Enabled = true;
            gbFechamento.Enabled = true;
            gbObservacoes.Enabled = true;
            gbProdutos.Enabled = true;
            gbServicos.Enabled = true;
            bIncluir.Enabled = false;
            bAlterar.Enabled = false;
            bExcluir.Enabled = false;
            bCancelar.Enabled = true;
            bImprimir.Enabled = false;
            bConsultar.Enabled = false;
            bSalvar.Enabled = true;
            bVoltar.Enabled = false;
        }
        public void limpar()
        {
            bIncluir.Enabled = true;
            bAlterar.Enabled = false;
            bExcluir.Enabled = false;
            bCancelar.Enabled = true;
            bSalvar.Enabled = false;
            bConsultar.Enabled = true;
            bImprimir.Enabled = false;
            bVoltar.Enabled = true;
            dgProdutos.DataSource = null;
            dgServicos.DataSource = null;
            associaGridProduto();
            associaGridServico();
            tbMovimento.Text = "";
            tbFuncionario.Text = "";
            tbCliente.Text = "";
            lNomeCliente.Text = "";
            valProd = 0;
            valServ = 0;
            lNomeFunc.Text = "";
            tbCodProduto.Text = "";
            lDescProduto.Text = "";
            tbQtdServico.Text = "";
            tbValorServico.Text = "";
            tbDesconto.Text = "";
            tbObservacoes.Text = "";
            tbQtdProduto.Text = "";
            tbTotalVenda.Text = "";
            tbValorProduto.Text = "";
            lDesServico.Text = "";
            tbTotalProd.Text = "";
            tbTotalServ.Text = "";
            cbTipoRecebimento.SelectedIndex = -1;
            dgDados.Enabled = false;
            gbFechamento.Enabled = false;
            gbObservacoes.Enabled = false;
            gbProdutos.Enabled = false;
            gbServicos.Enabled = false;
        }

        public double calculaServico()
        {
            double val = 0;
            //double valor;
            try
            {
                foreach (DataRow linha in tab2.Rows)
                {

                    val += Double.Parse(linha["valor_servico"].ToString().Replace("R$", ""));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return val;
        }
        public double calculaProduto()
        {
            double val = 0;
            //double valor;
            try
            {
                foreach (DataRow linha in tab.Rows)
                {

                    val += Double.Parse(linha["val_produto"].ToString().Replace("R$", ""));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            return val;
        }
        public double calculaTotal()
        {
            double ret = 0;
            try
            {
                if (controle_calculo == "S")
                    ret = valProd + valServ;
                else
                    ret = valProd - valServ;
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            return ret = Math.Abs(ret);

        }
        #endregion
        private void frm_realiza_venda_Load_1(object sender, EventArgs e)
        {
            limpar();
        }

        private void bIncluir_Click(object sender, EventArgs e)
        {
            inserir();
        }

        private void bCancelar_Click(object sender, EventArgs e)
        {
            limpar();
        }

        private void bServicos_Click(object sender, EventArgs e)
        {
            ServicosBLL objBLL = null;
            Servicos objS = null;
            try
            {
                frm_consulta frm = new frm_consulta();
                frm.Text = "Selecione o Serviço";
                frm.controle = "S";
                frm.gbLocalizar.Visible = false;
                frm.ShowDialog();
                if (frm.codigo != 0)
                {
                    objBLL = new ServicosBLL();
                    objS = objBLL.localizar(frm.codigo);
                    if (objS.cod_servico != 0)
                    {
                        tbCodServico.Text = objS.cod_servico.ToString();
                        lDesServico.Text = objS.descricao_servico;
                        tbValorServico.Text = objS.val_servico.ToString("C2");
                        tbQtdServico.Text = "1";
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bProdutos_Click(object sender, EventArgs e)
        {
            ProdutosBLL objBLL = null;
            Produtos objP = null;
            try
            {
                frm_consulta frm = new frm_consulta();
                frm.Text = "Selecione o Produtos";
                frm.controle = "P";
                //frm.gbLocalizar.Visible = false;
                frm.ShowDialog();
                if (frm.codigo != 0)
                {
                    objBLL = new ProdutosBLL();
                    objP = objBLL.localizar(frm.codigo);
                    if (objP.cod_produto != 0)
                    {
                        tbCodProduto.Text = objP.cod_produto.ToString();
                        lDescProduto.Text = objP.descricao_produto;
                        tbValorProduto.Text = objP.preco_venda.ToString("C2");
                        tbQtdProduto.Text = "1";
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bGravarServicos_Click(object sender, EventArgs e)
        {
            try
            {
                if (tbCodServico.Text == "" || tbValorServico.Text == "" || tbQtdServico.Text == "")
                    MessageBox.Show("Preencha o campo corretamente", "Mensagem");
                else
                {
                    DataRow linha2;
                    double val;
                    val = int.Parse(tbQtdServico.Text) * double.Parse(tbValorServico.Text.Replace("R$", ""));
                    linha2 = tab2.NewRow();
                    linha2["cod_servico"] = tbCodServico.Text;
                    linha2["descricao_servico"] = lDesServico.Text;
                    linha2["qntd_servico"] = tbQtdServico.Text;
                    linha2["valor_servico"] = val.ToString();
                    tab2.Rows.Add(linha2);
                    tab2.AcceptChanges();
                    tbCodServico.Text = "";
                    lDesServico.Text = "";
                    tbQtdServico.Text = "";
                    tbValorServico.Text = "";
                    double ret = calculaServico();
                    tbTotalServ.Text = ret.ToString("C2");
                    valServ = ret;
                    controle_calculo = "S";
                    ret = calculaTotal();
                    tbTotalVenda.Text = ret.ToString("C2");
                }

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bExcluirServicos_Click(object sender, EventArgs e)
        {
            int i = 0;
            double ret = 0;
            i = 0;
            try
            {
                foreach (DataGridViewRow linha in dgServicos.SelectedRows)
                {
                    i = linha.Index;
                }
                if ((i >= 0))
                {
                    tab2.Rows.RemoveAt(i);
                    tab2.AcceptChanges();
                    ret = calculaServico();
                    tbTotalServ.Text = ret.ToString("C2");
                    valServ = ret;
                    controle_calculo = "N";
                    ret = calculaTotal();
                    tbTotalVenda.Text = ret.ToString("C2");

                }
                else
                {
                    MessageBox.Show("Não existem itens para ser excluido!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Não existem itens para ser excluido!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bGravarProduto_Click(object sender, EventArgs e)
        {
            try
            {
                if (tbCodProduto.Text == "" || tbValorProduto.Text == "" || tbQtdProduto.Text == "")
                    MessageBox.Show("Preencha o(s) campo(s) corretamente", "Mensagem");
                else
                {
                    DataRow linha;
                    double val;
                    val = int.Parse(tbQtdProduto.Text) * double.Parse(tbValorProduto.Text.Replace("R$", ""));
                    linha = tab.NewRow();
                    linha["cod_produto"] = tbCodProduto.Text;
                    linha["descricao_produto"] = lDescProduto.Text;
                    linha["qntd_produto"] = tbQtdProduto.Text;
                    linha["val_produto"] = val.ToString();
                    tab.Rows.Add(linha);
                    tab.AcceptChanges();
                    tbCodProduto.Text = "";
                    lDescProduto.Text = "";
                    tbQtdProduto.Text = "";
                    tbValorProduto.Text = "";
                    double ret = calculaProduto();
                    tbTotalProd.Text = ret.ToString("C2");
                    valProd = ret;
                    controle_calculo = "S";
                    ret = calculaTotal();
                    tbTotalVenda.Text = ret.ToString("C2");
                }


            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bExcluirProduto_Click(object sender, EventArgs e)
        {
            int i = 0;
            double ret = 0;
            i = 0;
            try
            {
                foreach (DataGridViewRow linha in dgProdutos.SelectedRows)
                {
                    i = linha.Index;
                }
                if ((i >= 0))
                {
                    tab.Rows.RemoveAt(i);
                    tab.AcceptChanges();
                    ret = calculaProduto();
                    tbTotalProd.Text = ret.ToString("C2");
                    valProd = ret;
                    controle_calculo = "N";
                    ret = calculaTotal();
                    tbTotalVenda.Text = ret.ToString("C2");
                }
                else
                {
                    MessageBox.Show("Não existem itens para ser excluido!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Não existem itens para ser excluido!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void bVoltar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void tbDesconto_Leave(object sender, EventArgs e)
        {
            try
            {
                if (tbTotalVenda.Text != "" && tbDesconto.Text != "")
                {
                    double desc = double.Parse(tbDesconto.Text.Replace("%", ""));
                    double val_venda = calculaTotal();
                    tbTotalVenda.Text = Math.Abs(((val_venda * desc) / 100 - val_venda)).ToString("C2");
                }
                else
                {
                    tbDesconto.Text = (0).ToString();
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bClientes_Click(object sender, EventArgs e)
        {
            ClienteBLL objBLL = null;
            Cliente objC = null;
            try
            {
                frm_consulta frm = new frm_consulta();
                frm.Text = "Selecionar Cliente";
                frm.controle = "C";
                frm.ShowDialog();
                if (frm.codigo != 0)
                {
                    objBLL = new ClienteBLL();
                    objC = objBLL.localizar(frm.codigo);
                    if (objC.codigo != 0)
                    {
                        tbCliente.Text = objC.codigo.ToString();
                        lNomeCliente.Text = objC.nome;
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bFuncionarios_Click(object sender, EventArgs e)
        {
            FuncionarioBLL objBLL = null;
            Funcionarios objF = null;
            try
            {
                frm_consulta frm = new frm_consulta();
                frm.Text = "Selecionar Funcionario";
                frm.controle = "F";
                frm.gbLocalizar.Visible = false;
                frm.ShowDialog();
                if (frm.codigo != 0)
                {
                    objBLL = new FuncionarioBLL();
                    objF = objBLL.localizar(frm.codigo);
                    if (objF.codigo != 0)
                    {
                        lNomeFunc.Text = objF.nome;
                        tbFuncionario.Text = objF.codigo.ToString();
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void rbAVista_CheckedChanged(object sender, EventArgs e)
        {
            cbTipoRecebimento.Enabled = true;
        }

        private void rbAPrazo_CheckedChanged(object sender, EventArgs e)
        {
            cbTipoRecebimento.SelectedIndex = -1;
            cbTipoRecebimento.Enabled = false;
        }

        private void bSalvar_Click(object sender, EventArgs e)
        {
            VendaBLL objBLL = null;
            Venda objV = null;
            Boolean ret;
            try
            {
                ret = validaCampos();
                if (ret == true)
                {
                    objV = carregaPropriedades();
                    objBLL = new VendaBLL();
                    if (controle == "I")
                        objBLL.inserir(objV);
                    else
                        objBLL.alterar(objV);
                    MessageBox.Show("Salvo com Sucesso! Código Registrado: " + objV.cod_venda, "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    bCancelar_Click(sender, e);
                    if (MessageBox.Show("Deseja Gerar Comprovante?", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        frm_relatorio frm = new frm_relatorio();
                        rpt_Recibo rpt = new rpt_Recibo();
                        rpt.SetParameterValue(0, objV.cod_venda);
                        bCancelar_Click(sender, e);
                        frm.CR.ReportSource = rpt;
                        frm.Text = "Recibo de Venda";
                        frm.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            objBLL = null;
        }

        private void bConsultar_Click(object sender, EventArgs e)
        {
            VendaBLL objBLL = null;
            Venda objV = null;
            try
            {
                frm_consulta frm = new frm_consulta();
                frm.Text = "Consultar Vendas";
                frm.controle = "V";
                frm.ShowDialog();
                if (frm.codigo != 0)
                {
                    objBLL = new VendaBLL();
                    objV = objBLL.localizar(frm.codigo);
                    if (objV.cod_venda != 0)
                    {
                        bAlterar.Enabled = true;
                        bExcluir.Enabled = true;
                        bImprimir.Enabled = true;
                        bIncluir.Enabled = false;
                        dgProdutos.DataSource = null;
                        dgServicos.DataSource = null;
                        associaGridProduto();
                        associaGridServico();
                        carregaCampos(objV);
                    }
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
        }

        private void bAlterar_Click(object sender, EventArgs e)
        {
            alterar();
        }

        private void bExcluir_Click(object sender, EventArgs e)
        {
            VendaBLL objBLL = null;
            Venda objV = null;
            try
            {
                if (MessageBox.Show("Deseja Excluir?", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                {
                    objBLL = new VendaBLL();
                    objV = carregaPropriedades();
                    objBLL.excluir(objV);
                    MessageBox.Show("Excluido com Sucesso", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    limpar();
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);
            }
            objBLL = null;
            objV = null;
        }

        private void bImprimir_Click(object sender, EventArgs e)
        {
            try
            {
                frm_relatorio frm = new frm_relatorio();
                    rpt_Recibo rpt = new rpt_Recibo();
                    rpt.SetParameterValue(0, int.Parse(tbMovimento.Text));
                    bCancelar_Click(sender, e);
                    frm.CR.ReportSource = rpt;
                    frm.Text = "Recibo de Venda";
                    frm.Show();
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }

        private void frm_realiza_venda_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == Convert.ToChar(Keys.Escape))
                this.Close();
        }
    }
}
